The present invention relates to business objects in a business enterprise, and in particular to supporting communication among business objects.
Unless otherwise indicated herein, the approaches described in this section are not prior art to the claims in this application and are not admitted to be prior art by inclusion in this section.
A business enterprise typically requires numerous business functions in order to operate. An application platform provides the underlying hardware and/or software technology to support business applications and business objects operated on by the business applications in order to support the necessary business functions of the enterprise. A business object is commonly understood to be a data construct in an object-oriented programming paradigm. A business object corresponds to various aspect of business enterprise including tangible things, abstract ideas, and so on. For example, a production line for manufacturing widgets may be modeled and represented with a business object. Operations in a customer service center may be represented with a business model, and so. Operations, manipulations, and general management of business objects are commonly performed by business applications. Depending on the business application, there may be many business objects managed by that business application.
Business applications and business objects may be developed by a provider of the application platform. For example, the assignee of the instant application is a provider of a business management solution referred to generally as the Business ByDesign® software solution. Typically, the business applications and business objects are developed as a joint development effort between the platform provider and the business (also referred to as Partners). Thus, for instance, a customer relations management (CRM) system may be developed and deployed on the application platform as one “deployment unit.” Another system, for example a human resources management system (HCM, for human capital management), may be deployed on the application platform as another deployment unit. A “deployment unit” therefore represents the business application(s) and business objects that are developed in order to manage a particular aspect of the business.
In order to enable Partners to create added value on top of the business applications and business objects developed by the platform provider, integration of new functionality with existing business applications and business objects is an important capability. If the Partner developed add-on is local to a deployment unit, then integration of the add-on with existing business objects in the deployment unit can be easily provided. For example, local calls within the deployment unit provide for communication between the add-on and a local business object.
However, there may be instances when it is desirable to integrate across deployment units. For instance, suppose customer performance is managed in a CRM system in one deployment unit. Suppose further that a salesman's bonus is tied to customer performance. The salesman's compensation (a human resource function provided by an HCM system in another deployment unit) may need information from the CRM system. Local calls are not available between deployment units, and integration across deployment units may require low-level access to system utilities that are not available to the Partner. The platform provider must become involved in order to support such cross deployment unit capability.